package com.carrental.api.oms.domain;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.math.BigDecimal;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.carrental.common.core.domain.BaseEntity;

/**
 * 订单信息对象 oms_order
 *
 * @author liangyi
 * @date 2022-03-20
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("oms_order")
public class OmsOrder extends BaseEntity {

    private static final long serialVersionUID=1L;

    /**
     * 订单表主键
     */
    @TableId(value = "order_id")
    private Long orderId;
    /**
     * 订单编号
     */
    private String orderNumber;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 租户姓名
     */
    private String userRealName;
    /**
     * 租户身份证号
     */
    private String userIdCardNumber;
    /**
     * 租户手机号
     */
    private String userTelephone;
    /**
     * 车辆id
     */
    private Long carId;
    /**
     * 车辆名
     */
    private String carName;
    /**
     * 车牌号
     */
    private String carPlateNumber;
    /**
     * 车辆网点id
     */
    private Long storeId;
    /**
     * 车辆网点名称
     */
    private String storeName;
    /**
     * 订单状态（1预定、2出车、3还车、0取消）
     */
    private String status;
    /**
     * 支付方式（线下支付、微信支付、支付宝）
     */
    private String payType;
    /**
     * 折扣
     */
    private BigDecimal discount;
    /**
     * 支付金额
     */
    private BigDecimal payAmount;
    /**
     * 总金额
     */
    private BigDecimal totalAmount;
    /**
     * 出车时间
     */
    private LocalDateTime driveStartDate;
    /**
     * 还车时间
     */
    private LocalDateTime driveEndDate;
    /**
     * 租赁天数
     */
    private String driveDays;
    /**
     * 租赁小时数
     */
    private String driveHours;
    /**
     * 删除人标识[外键]
     */
    private Long deletedId;
    /**
     * 删除时间
     */
    private Date deletedTime;
    /**
     * 是否删除
     */
    private Boolean isDeleted;

}
